package com.yfp.org.domain.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.yfp.common.core.annotation.Excel;
import com.yfp.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;

/**
 * 工单表(WorkOrder)实体类
 *
 *
 * @since 2024-01-02 13:41:12
 */
@Schema(title = "")
@Data
public class WorkOrderDTO extends BaseEntity implements Serializable {
    /**
     * 工单号
     */
    @Schema(title = "工单号")
    @Excel(name = "工单编号", needMerge = true, sort = 1)
    private String workOrderSn;
    /**
     * 订单号
     */
    @Schema(title = "订单号")
    @Excel(name = "订单编号", needMerge = true, sort = 2)
    private String orderSn;
    /**
     * 冷餐柜温度
     */
    @Schema(title = "冷餐柜温度")
    @Excel(name = "冷藏温度", needMerge = true, sort = 9)
    private String temperature;
    /**
     * 制作时长
     */
    @Schema(title = "制作时长")
    @Excel(name = "制作时长", needMerge = true, sort = 10)
    private String processTime;
    /**
     * 微波开始加热时间
     */
    @Schema(title = "微波开始加热时间")
    @Excel(name = "微波开始加热时间", needMerge = true, sort = 11)
    private String heatBeginTime;
    /**
     * 微波结束加热时间
     */
    @Schema(title = "微波结束加热时间")
    @Excel(name = "微波结束加热时间", needMerge = true, sort = 12)
    private String heatEndTime;
    /**
     * 暂存柜存入时间
     */
    @Schema(title = "暂存柜存入时间")
    @Excel(name = "暂存柜存入时间", needMerge = true, sort = 13)
    private String inLockerTime;
    /**
     * 暂存柜取出时间
     */
    @Schema(title = "暂存柜取出时间")
    @Excel(name = "暂存柜取出时间", needMerge = true, sort = 14)
    private String outLockerTime;
    /**
     * 工单状态（1：待处理 2：处理中 3：已完成）
     */
    @Schema(title = "工单状态（1：待处理 2：处理中 3：已完成）")
    @Excel(name = "工单状态", needMerge = true, sort = 16,readConverterExp = "1=待处理,2=处理中,3=已完成")
    private String workerOrderStatus;
    /**
     * 出餐口关闭时间
     */
    @Schema(title = "出餐口关闭时间")
    @Excel(name = "出餐口关闭时间", needMerge = true, sort = 15)
    private String exitCloseTime;

    /**
     * 是否删除
     */
    @Schema(title = "是否删除")
    private Boolean isDelete;

    private com.yfp.org.domain.entity.OrderList OrderList;

    @Schema(title = "公司")
    private String companyId;

    @Schema(title = "套餐名称")
    @Excel(name = "餐品名称", needMerge = true, sort = 5)
    private String comboName;


    private String orderStatus;
    @Schema(title = "设备编号")
    private String machineCode;

    @Schema(title = "设备Id")
    @Excel(name = "设备编号", needMerge = true, sort = 6)
    private String machineId;

    @Schema(title = "点位")
    private String positionId;

    @Schema(title = "支付状态")
    @Excel(name = "订单状态", needMerge = true, sort = 17,readConverterExp = "3=已完成,7=已取消,1=未支付,2=未取餐,4=已退款,6=退款中,9=退款失败,8=已付款")
    private Integer payStatus;

    @Schema(title = "出餐口关闭结束时间")
    private String exitCloseEntTime;

    @Schema(title = "设备名称")
    @Excel(name = "设备名称", needMerge = true, sort = 7)
    private String machineName;

    @Schema(title = "货道号")
    private String machineRoadNo;

    @Schema(title = "用户名")
    @Excel(name = "用户名称", needMerge = true, sort = 3)
    private String userName;

    @Schema(title = "用户名")
    private String areaId;

    @Schema(title = "点位名称")
    @Excel(name = "点位名称", needMerge = true, sort = 8)
    private String positionName;

    @Schema(title = "出餐口")
    @Excel(name = "出餐口", needMerge = true, sort = 9)
    private String outMeal;


    /**
     * 用户联系方式
     */
    @Schema(title = "用户联系方式")
    @TableField(exist = false)
    @Excel(name = "手机号", needMerge = true, sort = 4)
    private String userMobile;
    @Schema(title = "订单详情ID")
    private String orderDetailId;
}
